DEFINITION MODULE VDIcalls;

(*
 *	Copyright (c) 1987,1988,1989 by
 *	ana-systems, Foster City, California.
 *	All Rights Reserved.
 *
 *	This software is furnished under a license and may be used and copied
 *	only in accordance with	the terms of such license and  with the
 *	inclusion of the above copyright notice. This software or any other
 *	copies thereof may not be provided or otherwise made available to any
 *	other  person.	No title to and ownership of the software is herby
 *	transferred.
 *
 *	The information in this software is subject to change without notice
 *	and  should not be construed as a commitment by ana-systems. No
 *	warranty is implied or expressed.
 *)

FROM SYSTEM IMPORT ADDRESS;

EXPORT QUALIFIED VOpnwk,VClswk,VClrwk,VUpdwk,VqChCells,VExitCur,
 				 VEnterCur,VCurUp,VCurDown,VCurRight,VCurLeft,
				 VCurHome,VEeos,VEeol,VsCurAddress,VCurText,VRvon,
				 VRvoff,VqCurAddress,VqTabStatus,VHardCopy,VDspCur,
				 VRmCur,VFormAdv,VOutputWindow,VClearDispList,VpLine,
				 VpMarker,VgText,VFillArea,VBar,VArc,VPie,VCircle,
				 VEllipse,VEllArc,VEllPie,VrBox,VrfBox,VJustified,
				 VstHeight,VstRotation,VsColor,VslType,VslWidth,VslColor,
				 VsmType,VsmHeight,VsmColor,VstFont,VstColor,VsfInterior,
				 VsfStyle,VsfColor,VqColor,VrqLocator,VsmLocator,
				 VrqString,VsmString,VswrMode,VsinMode,VqlAttributes,
				 VqmAttributes,VqfAttributes,VqtAttributes,VstAlignment,
				 VOpnvwk,VClsvwk,VqExtend,VContourFill,VsfPerimeter,
				 VGetPixel,VstEffects,VstPoint,VslEnds,VroCpyfm,
				 VrTrnfm,VscForm,VsfUdpat,VslUdsty,VrRecfl,VqinMode,
				 VqtExtent,VqtWidth,VexTimv,VstLoadFonts,VstUnloadFonts,
				 VrtCpyfm,VShowC,VHideC,VqMouse,VexButv,VexMotv,VexCurv,
				 VqKeys,VsClip,VqtName,VqtFontInfo;

PROCEDURE VOpnwk(VAR workin:ARRAY OF INTEGER;
				VAR handle:INTEGER;
				VAR workout:ARRAY OF INTEGER);

PROCEDURE VClswk(handle:INTEGER);

PROCEDURE VClrwk(handle:INTEGER);

PROCEDURE VUpdwk(handle:INTEGER);

PROCEDURE VqChCells(handle:INTEGER; VAR rows,columns:INTEGER);

PROCEDURE VExitCur(handle:INTEGER);

PROCEDURE VEnterCur(handle:INTEGER);

PROCEDURE VCurUp(handle:INTEGER);

PROCEDURE VCurDown(handle:INTEGER);

PROCEDURE VCurRight(handle:INTEGER);

PROCEDURE VCurLeft(handle:INTEGER);

PROCEDURE VCurHome(handle:INTEGER);

PROCEDURE VEeos(handle:INTEGER);

PROCEDURE VEeol(handle:INTEGER);

PROCEDURE VsCurAddress(handle,row,column:INTEGER);

PROCEDURE VCurText(handle:INTEGER; VAR string:ARRAY OF CHAR);

PROCEDURE VRvon(handle:INTEGER);

PROCEDURE VRvoff(handle:INTEGER);

PROCEDURE VqCurAddress(handle:INTEGER; VAR row,column:INTEGER);

PROCEDURE VqTabStatus(handle:INTEGER):INTEGER;

PROCEDURE VHardCopy(handle:INTEGER);

PROCEDURE VDspCur(handle,x,y:INTEGER);

PROCEDURE VRmCur(handle:INTEGER);

PROCEDURE VFormAdv(handle:INTEGER);

PROCEDURE VOutputWindow(handle:INTEGER; VAR rect:ARRAY OF INTEGER);

PROCEDURE VClearDispList(handle:INTEGER);

PROCEDURE VpLine(handle,numPoints:INTEGER; VAR points:ARRAY OF INTEGER);

PROCEDURE VpMarker(handle,numPoints:INTEGER; VAR points:ARRAY OF INTEGER);

PROCEDURE VgText(handle,x,y:INTEGER; VAR string:ARRAY OF CHAR);

PROCEDURE VFillArea(handle,numPoints:INTEGER; VAR points:ARRAY OF INTEGER);

PROCEDURE VBar(handle:INTEGER; VAR rect:ARRAY OF INTEGER);

PROCEDURE VArc(handle,x,y,radius,beginAngle,endAngle:INTEGER);

PROCEDURE VPie(handle,x,y,radius,beginAngle,endAngle:INTEGER);

PROCEDURE VCircle(handle,x,y,radius:INTEGER);

PROCEDURE VEllipse(handle,x,y,xradius,yradius:INTEGER);

PROCEDURE VEllArc(handle,x,y,xradius,yradius,beginAngle,endAngle:INTEGER);

PROCEDURE VEllPie(handle,x,y,xradius,yradius,beginAngle,endAngle:INTEGER);

PROCEDURE VrBox(handle:INTEGER; VAR rect:ARRAY OF INTEGER);

PROCEDURE VrfBox(handle:INTEGER; VAR rect:ARRAY OF INTEGER);

PROCEDURE VJustified(handle,x,y:INTEGER; VAR string:ARRAY OF CHAR;
					length,wordSpacing,charSpacing:INTEGER);

PROCEDURE VstHeight(handle,height:INTEGER; 
					VAR charW,charH,cellW,cellH:INTEGER);

PROCEDURE VstRotation(handle,angle:INTEGER):INTEGER;

PROCEDURE VsColor(handle,color:INTEGER; VAR rgb:ARRAY OF INTEGER);

PROCEDURE VslType(handle,lineType:INTEGER):INTEGER;

PROCEDURE VslWidth(handle,lineWidth:INTEGER):INTEGER;

PROCEDURE VslColor(handle,color:INTEGER):INTEGER;

PROCEDURE VsmType(handle,shape:INTEGER):INTEGER;

PROCEDURE VsmHeight(handle,height:INTEGER):INTEGER;

PROCEDURE VsmColor(handle,color:INTEGER):INTEGER;

PROCEDURE VstFont(handle,fontID:INTEGER):INTEGER;

PROCEDURE VstColor(handle,color:INTEGER):INTEGER;

PROCEDURE VsfInterior(handle,style:INTEGER):INTEGER;

PROCEDURE VsfStyle(handle,index:INTEGER):INTEGER;

PROCEDURE VsfColor(handle,color:INTEGER):INTEGER;

PROCEDURE VqColor(handle,color,flag:INTEGER; VAR rgb:ARRAY OF INTEGER);

PROCEDURE VrqLocator(handle,x,y:INTEGER; VAR finalX,finalY,term:INTEGER);

PROCEDURE VsmLocator(handle,x,y:INTEGER;
					VAR finalX,finalY,term:INTEGER):INTEGER;

PROCEDURE VrqString(handle,length,echo:INTEGER; VAR echoXY:ARRAY OF INTEGER;
					VAR string:ARRAY OF CHAR);

PROCEDURE VsmString(handle,length,echo:INTEGER; VAR echoXY:ARRAY OF INTEGER;
					VAR string:ARRAY OF CHAR):INTEGER;

PROCEDURE VswrMode(handle,mode:INTEGER):INTEGER;

PROCEDURE VsinMode(handle,device,mode:INTEGER);

PROCEDURE VqlAttributes(handle:INTEGER; VAR setting:ARRAY OF INTEGER);

PROCEDURE VqmAttributes(handle:INTEGER; VAR setting:ARRAY OF INTEGER);

PROCEDURE VqfAttributes(handle:INTEGER; VAR setting:ARRAY OF INTEGER);

PROCEDURE VqtAttributes(handle:INTEGER; VAR setting:ARRAY OF INTEGER);

PROCEDURE VstAlignment(handle,hAlign,vAlign:INTEGER; VAR hSet,vSet:INTEGER);

PROCEDURE VOpnvwk(VAR workin:ARRAY OF INTEGER;
				VAR handle:INTEGER;
				VAR workout:ARRAY OF INTEGER);

PROCEDURE VClsvwk(handle:INTEGER);

PROCEDURE VqExtend(handle,flag:INTEGER; VAR workout:ARRAY OF INTEGER);

PROCEDURE VContourFill(handle,x,y,color:INTEGER);

PROCEDURE VsfPerimeter(handle,visible:INTEGER):INTEGER;

PROCEDURE VGetPixel(handle,x,y:INTEGER; VAR register,color:INTEGER);

PROCEDURE VstEffects(handle,effects:INTEGER):INTEGER;

PROCEDURE VstPoint(handle,points:INTEGER; 
					VAR charW,charH,cellW,cellH:INTEGER):INTEGER;

PROCEDURE VslEnds(handle,begin,end:INTEGER);

PROCEDURE VroCpyfm(handle,mode:INTEGER; VAR rect:ARRAY OF INTEGER;
					source,destination:ADDRESS);

PROCEDURE VrTrnfm(handle:INTEGER; source,destination:ADDRESS);

PROCEDURE VscForm(handle:INTEGER; VAR data:ARRAY OF INTEGER);

PROCEDURE VsfUdpat(handle:INTEGER; VAR data:ARRAY OF INTEGER; planes:INTEGER);

PROCEDURE VslUdsty(handle,pattern:INTEGER);

PROCEDURE VrRecfl(handle:INTEGER; VAR rect:ARRAY OF INTEGER);

PROCEDURE VqinMode(handle,device:INTEGER; VAR mode:INTEGER);

PROCEDURE VqtExtent(handle:INTEGER; VAR string:ARRAY OF CHAR; 
					VAR rect:ARRAY OF INTEGER);

PROCEDURE VqtWidth(handle:INTEGER; ch:CHAR;
					VAR cellW,leftOffset,rightOffset:INTEGER):INTEGER;

PROCEDURE VexTimv(physHandle:INTEGER; VAR newAddr,oldAddr:ADDRESS;
					VAR tickLength:INTEGER);

PROCEDURE VstLoadFonts(handle,select:INTEGER):INTEGER;

PROCEDURE VstUnloadFonts(handle,select:INTEGER);

PROCEDURE VrtCpyfm(handle,mode:INTEGER; VAR rect:ARRAY OF INTEGER;
					source,destination:ADDRESS; VAR color:ARRAY OF INTEGER);

PROCEDURE VShowC(handle,reset:INTEGER);

PROCEDURE VHideC(handle:INTEGER);

PROCEDURE VqMouse(handle:INTEGER; VAR button,x,y:INTEGER);

PROCEDURE VexButv(physHandle:INTEGER; VAR newAddr,oldAddr:ADDRESS);

PROCEDURE VexMotv(physHandle:INTEGER; VAR newAddr,oldAddr:ADDRESS);

PROCEDURE VexCurv(physHandle:INTEGER; VAR newAddr,oldAddr:ADDRESS);

PROCEDURE VqKeys(handle:INTEGER; VAR key:INTEGER);

PROCEDURE VsClip(handle,clipFlag:INTEGER; VAR clipRect:ARRAY OF INTEGER);

PROCEDURE VqtName(handle,number:INTEGER; VAR name:ARRAY OF CHAR):INTEGER;

PROCEDURE VqtFontInfo(handle:INTEGER; VAR minChar,maxChar:INTEGER;
						VAR dimensions,effects:ARRAY OF INTEGER;
						VAR maxWidth:INTEGER);

END VDIcalls.
